]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
6 years agoworkspacesView: Only animate on show() when geometries are already set
Jonas Dreßler [Wed, 20 May 2020 11:39:11 +0000 (13:39 +0200)]
workspacesView: Only animate on show() when geometries are already set

Animating the window clones of the overview requires the fullGeometry
and the actualGeometry to be set, which they won't be when showing the
overview for the first time. So don't even try to animate the window
clones in that case because the geometries will still be null and
accessing them in workspace.js will throw errors.

The workspace views will still get the correct layout as soon as the
allocations happen because syncing the geometries will trigger updating
the window positions. Since animations are disabled for position changes
when syncing the geometry though, we won't get an animation and the
clones will jump into place. That's not a regression though since before
this change we also didn't animate in that case because the geometries
used were simply wrong (the actualGeometry was 0-sized as explained in
the last commit).

If we wanted to fix the initial animation of the overview, we'd have to
always enable animations of the window clones when syncing geometries,
but that would break the animation of the workspace when hovering the
workspaceThumbnail slider, because right now those animations are "glued
together" using the actualGeometry, so they would get out of sync.

The reason there are no errors happening in workspace.js with the
existing code is that due to a bug in Clutter the fullGeometry of
WorkspacesDisplay gets set very early while mapping the WorkspacesViews
(because the overviews ControlsManager gets an allocation during the
resource scale calculation of a ClutterClone, see
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1181), so it
won't be set to null anymore when calling
WorkspacesView.animateToOverview().

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1119

6 years agoworkspacesView: Avoid setting invalid geometries on views
Jonas Dreßler [Wed, 20 May 2020 10:05:04 +0000 (12:05 +0200)]
workspacesView: Avoid setting invalid geometries on views

The fullGeometry and the actualGeometry of the WorkspacesDisplay are set
from the allocation of the overviews ControlsManager and the
WorkspacesDisplay, that means they're only valid after those actors got
their allocations during Clutters allocation cycle.

Since WorkspacesDisplay._updateWorkspacesViews() is already called while
showing/mapping the WorkspacesDisplay, that allocation cycle didn't
happen yet and we end up either setting the geometries of the views to
null (in case of the fullGeometry) or to something wrong (a 0-sized
allocation in case of the actualGeometry).

So avoid setting invalid geometries on the views by initializing both
the fullGeometry and the actualGeometry to null, and then only updating
the geometries of the views after they're set to a correct value.

Note that this means we won't correctly animate the overview the first
time we open it since the animation depends on the geometries being set,
but is being started from show(), which means no allocations have
happened yet. In practice this introduces no regression though since
before this change we simply used incorrect geometries (see the 0-sized
allocation mentioned above) on the initial opening and the animation
didn't work either.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1119

6 years agoUpdate Turkish translation
Emin Tufan Çetin [Sun, 14 Jun 2020 07:52:41 +0000 (07:52 +0000)]
Update Turkish translation

6 years agoworkspace: Remove WindowOverlay in favour of new overlays of WindowClone
Jonas Dreßler [Tue, 2 Jun 2020 11:56:03 +0000 (13:56 +0200)]
workspace: Remove WindowOverlay in favour of new overlays of WindowClone

Start using the new overlays we introduced in the last commit and remove
the WindowOverlay class and the objects for keeping track of them in the
Workspace.

The new layout which doesn't use the -shell-close-overlap CSS property
anymore sligthly changes the position of the close button to be a bit
further away from the actual window.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298

6 years agoworkspace: Set maxChromeWidth to window clone width
Jonas Dreßler [Thu, 4 Jun 2020 15:39:44 +0000 (17:39 +0200)]
workspace: Set maxChromeWidth to window clone width

So far we allowed the titles of window overlays to expand their width to
be larger than the actual WindowClone, they could expand to the full
size of the Workspace.

Since we're now going to implement those titles as part of the
WindowClone itself, having this feature is no longer possible as easily
as it was before. That's because the clones are stacked according to the
stacking of the actual windows, and since the overlay-elements are
attached to those clones, they will also be shown underneath other
clones.

So stop allowing the titles to expand and limit their size to the width
of the clone, which makes sure titles never get shown above or
underneath other clones.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298

6 years agoworkspace: Adjust for close button side in chromeWidth
Jonas Dreßler [Mon, 8 Jun 2020 15:52:57 +0000 (17:52 +0200)]
workspace: Adjust for close button side in chromeWidth

When the close button is shown on the left side of the WindowClone, we
also need to return its width in chromeWidth() on the left side instead
of the right side, so do that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298

6 years agoworkspace: Add window overlay to WindowClone
Jonas Dreßler [Tue, 2 Jun 2020 11:52:33 +0000 (13:52 +0200)]
workspace: Add window overlay to WindowClone

Add the window overlays we're currently showing using the WindowOverlay
class to the WindowClone class and implement them using
ClutterConstraints instead of the old fixed position/size layout, which
had to be used because the workspaces were scaled, and the title and app
icon were kept unscaled using a separate layer.

Specifically, this is done by adding the ClutterClones to a static
container owned by the WindowClone and adding the elements of the
overlay as children to the WindowClone itself. That way the
overlay-elements can use the container as a source for their constraints
and we avoid having to make sure the overlays remain visible above the
ClutterClones.

We're not using the new overlays yet, they're hidden by default and
showOverlay() isn't called anywhere yet.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298

6 years agoworkspace: Close windows using new layout manager API
Jonas Dreßler [Mon, 8 Jun 2020 12:50:23 +0000 (14:50 +0200)]
workspace: Close windows using new layout manager API

Now that we have a new API to get all the windows and metaWindows from
our layout manager, implement the deleteAll() method of the window clone
using that API instead of looping through the children of the actor and
using the source of the ClutterClone.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298

6 years agoworkspace: Add API to get windows and metaWindow to WindowCloneLayout
Jonas Dreßler [Mon, 8 Jun 2020 12:47:43 +0000 (14:47 +0200)]
workspace: Add API to get windows and metaWindow to WindowCloneLayout

This will allow us to remove the remaining parts of the WindowClone
looping through children in favour of simply getting an array with the
windows or metaWindows and looping through that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298

6 years agoutil: Remove unused class CloseButton
Jonas Dreßler [Tue, 2 Jun 2020 14:16:36 +0000 (16:16 +0200)]
util: Remove unused class CloseButton

This looks like it was used to create the close buttons in the overview
at some point, we're no longer using it nowadays though, so remove it.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298

6 years agoUpdate Japanese translation
sicklylife [Thu, 11 Jun 2020 10:27:58 +0000 (10:27 +0000)]
Update Japanese translation

6 years agounlockDialog: Set Switch User Button via _updateUserSwitchVisibility
Chingkai [Sat, 25 Apr 2020 08:29:16 +0000 (16:29 +0800)]
unlockDialog: Set Switch User Button via _updateUserSwitchVisibility

This commit will set the button invisible when the user's can_switch
is false (e.g. when the session is remote) or user-switch-enabled is
disabled.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2687

6 years agoUpdate Japanese translation
sicklylife [Wed, 10 Jun 2020 12:34:12 +0000 (12:34 +0000)]
Update Japanese translation

6 years agoUpdate Japanese translation
sicklylife [Wed, 10 Jun 2020 12:18:32 +0000 (12:18 +0000)]
Update Japanese translation

6 years agooverview: Adapt to MetaBackgroundContent
Georges Basile Stavracas Neto [Tue, 9 Jun 2020 18:51:14 +0000 (15:51 -0300)]
overview: Adapt to MetaBackgroundContent

The properties are now defined in MetaBackgroundContent.
Animate the ClutterContent properties.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1309

6 years agobackground: Adapt to MetaBackgroundContent
Georges Basile Stavracas Neto [Tue, 9 Jun 2020 17:36:21 +0000 (14:36 -0300)]
background: Adapt to MetaBackgroundContent

The properties are now part of MetaBackgroundContent, so set
the properties there instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1309

6 years agoiconGrid: Trivial comment cleanup
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 03:36:21 +0000 (00:36 -0300)]
iconGrid: Trivial comment cleanup

There's no PaginatedIconGrid anymore

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Don't fade icons when a folder dialog is open
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 03:33:52 +0000 (00:33 -0300)]
appDisplay: Don't fade icons when a folder dialog is open

The folder dialog itself now has a background, there's no
need to fade the icons anymore.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Fade the dialog background
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 03:31:13 +0000 (00:31 -0300)]
appDisplay: Fade the dialog background

As a last step towards the better app grid, add a semi-transparent
black background to the folder dialog.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Set minRows to 3 in folder dialog grid
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 03:29:35 +0000 (00:29 -0300)]
appDisplay: Set minRows to 3 in folder dialog grid

It gives the folder dialog a better layout overall. This is
going to be replaced in the future by the new icon grid code,
but it's a good improvement to have until there.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Hide folder icon when dialog is open
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 02:24:20 +0000 (23:24 -0300)]
appDisplay: Hide folder icon when dialog is open

In such a way that gives the illusion of the icon becoming
the dialog itself.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Don't change search entry's reactive state
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 01:49:28 +0000 (22:49 -0300)]
appDisplay: Don't change search entry's reactive state

The folder dialog eats all events now, there's no need to
disable the search entry anymore.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Remove unused variable
Georges Basile Stavracas Neto [Thu, 4 Jun 2020 04:37:03 +0000 (01:37 -0300)]
appDisplay: Remove unused variable

As the title says.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Fix misnamed variable
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 01:37:50 +0000 (22:37 -0300)]
appDisplay: Fix misnamed variable

This should have been renamed to "displayingDialog" by
commit 7781f973f2f.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Don't connect to 'space-closed'
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 01:36:23 +0000 (22:36 -0300)]
appDisplay: Don't connect to 'space-closed'

This signal doesn't exist anymore.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Popdown folder dialog on DnD
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 01:32:14 +0000 (22:32 -0300)]
appDisplay: Popdown folder dialog on DnD

So that we're still able to drag icons out of folders, and to the
Dash. Wait 600ms (MENU_POPUP_TIMEOUT) before popping it down.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Remove event blocker
Georges Basile Stavracas Neto [Thu, 4 Jun 2020 04:50:49 +0000 (01:50 -0300)]
appDisplay: Remove event blocker

It is unused now.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Move click action to dialog
Georges Basile Stavracas Neto [Thu, 4 Jun 2020 04:49:14 +0000 (01:49 -0300)]
appDisplay: Move click action to dialog

Now that the folder dialog covers the whole primary
monitor, it eats all input events, and doesn't allow
the event blocker to detect clicks.

Move the click action to the folder dialog itself, and
popdown the dialog if a click is triggered on the dialog
(but not on any children).

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Move adaptToSize call to FolderView
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 01:10:04 +0000 (22:10 -0300)]
appDisplay: Move adaptToSize call to FolderView

There is absolutely no need to handle this in the dialog
itself.

Move the call to adaptToSize into FolderView.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Zoom dialog child in and out
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 01:05:11 +0000 (22:05 -0300)]
appDisplay: Zoom dialog child in and out

Instead of zooming the dialog itself, zoom its only
child, which is the "actual" user-visible dialog.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Make AppFolderDialog subclass St.Bin
Georges Basile Stavracas Neto [Fri, 5 Jun 2020 01:00:10 +0000 (22:00 -0300)]
appDisplay: Make AppFolderDialog subclass St.Bin

It'll simplify things a bit.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Make folder dialog cover the whole screen
Georges Basile Stavracas Neto [Thu, 4 Jun 2020 04:43:11 +0000 (01:43 -0300)]
appDisplay: Make folder dialog cover the whole screen

Future commits will improve input handling of the folder
dialog, and they'll require the dialog to cover the whole
primary monitor.

Add another internal, center-aligned container to the
folder dialog, and make it cover the whole available area.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Constrain dialog to primary display
Georges Basile Stavracas Neto [Thu, 4 Jun 2020 04:37:48 +0000 (01:37 -0300)]
appDisplay: Constrain dialog to primary display

Much like the overview controls themselves are tied to the
primary display, constrain the folder dialog to the primary
display as well.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agoappDisplay: Add folder dialog to overview group
Georges Basile Stavracas Neto [Thu, 4 Jun 2020 04:37:31 +0000 (01:37 -0300)]
appDisplay: Add folder dialog to overview group

Right now, the app folder dialog isn't really a dialog,
since it is actually added to the AppDisplay. Furthermore,
having it added in AppDisplay may mess up with its sizing
calculations, since AppDisplay has a ClutterBinLayout and
the folder dialog has a fairly large minimum size.

Add the folder dialog to the overview group. Next commits
will adjust various actors to be able to better handle it.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1301

6 years agost/entry: Fix leak when copying or cutting text using shortcuts
Sebastian Keller [Sun, 7 Jun 2020 22:42:00 +0000 (00:42 +0200)]
st/entry: Fix leak when copying or cutting text using shortcuts

clutter_text_get_selection() creates a copy of the selected text which
gets passed to st_clipboard_set_text() which creates its own copy. The
copy returned by clutter_text_get_selection() however never got free'd.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1306

6 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 8 Jun 2020 14:10:16 +0000 (16:10 +0200)]
Updated Spanish translation

6 years agoUpdate Catalan translation
Jordi Mas [Sat, 6 Jun 2020 12:56:58 +0000 (14:56 +0200)]
Update Catalan translation

6 years agoUpdate Ukrainian translation
Yuri Chornoivan [Sat, 6 Jun 2020 12:54:13 +0000 (12:54 +0000)]
Update Ukrainian translation

6 years agodateMenu: Add "Events" section
Florian Müllner [Thu, 14 May 2020 20:24:36 +0000 (22:24 +0200)]
dateMenu: Add "Events" section

Events have a clear and obvious connection to the calendar, and similar
to the Clocks and Weather sections there's a strong link to a particular
application.

Adding them as another section to the right-hand side of the calendar
therefore presents a viable alternative to the old events section.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1282

6 years agomessageList: Remove setDate() method
Florian Müllner [Tue, 18 Dec 2018 10:26:30 +0000 (11:26 +0100)]
messageList: Remove setDate() method

Since the events section has been removed and visibility no longer
depends on the date, it's not used by anything anymore.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1282

6 years agocalendar: Simplify placeholder
Florian Müllner [Tue, 18 Dec 2018 10:20:42 +0000 (11:20 +0100)]
calendar: Simplify placeholder

Without the events section in the message list, the placeholder can only
reflect whether or not there are notifications.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1282

6 years agocalendar: Don't restrict section visibility by date
Florian Müllner [Tue, 18 Dec 2018 10:16:24 +0000 (11:16 +0100)]
calendar: Don't restrict section visibility by date

The idea behind hiding the notifications and media section on days
other than today was that they represent present activity together
with today's events, in contrast to past and future events from
other days.

After events were moved out of the message list, that behavior is
no longer useful: We just guarantee that the left-hand side of the
calendar will always be empty when browsing the calendar.

Adjust to that by removing the limitation by date.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1282

6 years agocalendar: Remove events section from message list
Florian Müllner [Mon, 17 Dec 2018 18:08:38 +0000 (19:08 +0100)]
calendar: Remove events section from message list

While treating notifications as a type of present event was a neat
concept, there are some issues with it that we never managed to
address (not least the inability to "open" an event).

So remove the current events section from the message list; we'll
bring back events in a different form later.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1282

6 years agocalendar-server: Notify HasCalendar changes when updating views
Florian Müllner [Thu, 4 Jun 2020 20:14:15 +0000 (22:14 +0200)]
calendar-server: Notify HasCalendar changes when updating views

The HasCalendar property reflects whether there are any views, and views
change either when clients appear/disappear or when the time range changes.

However we currently only emit the PropertiesChanged signal for the former,
fix that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1300

6 years agocalendar-server: Move method
Florian Müllner [Thu, 4 Jun 2020 20:11:42 +0000 (22:11 +0200)]
calendar-server: Move method

We'll need to call it from app_update_views(), so move it up to make
it available to that function without a prior declaration.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1300

6 years agoshell-mime-sniffer: Ignore invalid file content type
Marco Trevisan (Treviño) [Fri, 5 Jun 2020 14:12:58 +0000 (16:12 +0200)]
shell-mime-sniffer: Ignore invalid file content type

The shell mime sniffer goes through all the files in a directory,
however in case a file content type is not recognized, the GIO function
g_file_info_get_content_type() may return NULL, causing a crash when
looking up into the content type tables, as they are supposed to contain
strings only and they use `g_str_hash` has func, which doesn't support
NULL values.

So, in case we get an invalid content type, let's just ignore it,
without adding it to the cache as we do in the nautilus code that was
inspiring the sniffer.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2643

6 years agoUpdate Chinese (China) translation
Boyuan Yang [Fri, 5 Jun 2020 09:02:40 +0000 (09:02 +0000)]
Update Chinese (China) translation

6 years agoworkspace: Remove no longer valid comment
Jonas Dreßler [Tue, 2 Jun 2020 08:29:19 +0000 (10:29 +0200)]
workspace: Remove no longer valid comment

This comment is no longer correct, we're not inserting any actors here
to adjust for the window border, but we're modifying the allocation of
the children to adjust for that border.

Since that happens in the layout manager anyway, remove the comment
here.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1297

6 years agoworkspace: Use generic _addWindow function to add new clones
Jonas Dreßler [Sun, 31 May 2020 21:15:06 +0000 (23:15 +0200)]
workspace: Use generic _addWindow function to add new clones

Now that we handle all ClutterClones belonging to the WindowClone pretty
much the same, we can add a generic _addWindow function to WindowClone
which creates the ClutterClone and adds it to the layout manager.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1297

6 years agoworkspace: Implement windowCenter using bounding box
Jonas Dreßler [Sun, 31 May 2020 20:48:28 +0000 (22:48 +0200)]
workspace: Implement windowCenter using bounding box

This isn't quite the same as the allocation, but it's what the workspace
actually wants to use given that we use the bounding box of the
WindowClone for all the layout calculation.

So instead of calculating the windowCenter in the WindowClone, make use
of the bounding-box property of the layout manager and return the center
point of that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1297

6 years agoworkspace: Use bounding-box property from layout manager
Jonas Dreßler [Sun, 31 May 2020 20:47:27 +0000 (22:47 +0200)]
workspace: Use bounding-box property from layout manager

Make use of the new bounding-box property we introduced for the
WindowClones layout manager in the last commit.

With this we can remove all the bounding box calculation code from the
WindowClone class and simply use the "notify::bounding-box" signal to
notify changes to our size. To make sure users of the WindowClone don't
break, we now have to convert the layout managers ClutterActorBox in our
getter function to a JS object.

Since we now also don't have to connect to the "destroy" signal of the
attached dialogs anymore, we can remove _disconnectSignals() and only
listen to "destroy" of the toplevel window.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1297

6 years agoworkspace: Track windows in WindowClone layout manager
Jonas Dreßler [Mon, 1 Jun 2020 12:41:25 +0000 (14:41 +0200)]
workspace: Track windows in WindowClone layout manager

Move the tracking of the bounding box and all the layout related things
out of the WindowClone class and into the layout manager. This allows
the layout manager to keep track of its windows itself and simply notify
the new bounding-box property in case that box changes.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1297

6 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 4 Jun 2020 07:15:53 +0000 (09:15 +0200)]
Updated Spanish translation

6 years agoenvironment: Add Math.clamp
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 03:41:43 +0000 (00:41 -0300)]
environment: Add Math.clamp

The good old clamp function, now part of the Math family.
Clamp is happy after so many years of loneliness.

This is a strict implementation of the draft ECMAScript
proposal.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoviewSelector: Make sure it's invisible when overview is hidden
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 17:21:02 +0000 (14:21 -0300)]
viewSelector: Make sure it's invisible when overview is hidden

Instead of overriding the hide() method, use the vfunc to
reset, and hide the workspaces display too.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoviewSelector: Rename show to animateToOverview
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 03:59:27 +0000 (00:59 -0300)]
viewSelector: Rename show to animateToOverview

The same reasoning as the previous commits.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoworkspacesView: Override vfunc_hide
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 17:15:45 +0000 (14:15 -0300)]
workspacesView: Override vfunc_hide

Override the hide vfunc instead of the plain hide() method.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoworkspacesView: Rename show to animateToOverview
Georges Basile Stavracas Neto [Mon, 1 Jun 2020 15:20:44 +0000 (12:20 -0300)]
workspacesView: Rename show to animateToOverview

WorkspacesDisplay is a ClutterActor subclass, and overriding
the show and hide methods require chaining up, otherwise the
actor isn't actually shown or hidden.

To avoid clashing with the pre-existing show method, rename
to animateToOverview.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoworkspace: Increase window clone fade duration to 200 ms
Jonas Dreßler [Tue, 2 Jun 2020 12:01:32 +0000 (14:01 +0200)]
workspace: Increase window clone fade duration to 200 ms

The current value of 100 ms is barely noticable and looks very abrupt,
use 200 ms instead which make it feel like an actual transition.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1296

6 years agoBump version to 3.37.2
Florian Müllner [Tue, 2 Jun 2020 19:48:02 +0000 (21:48 +0200)]
Bump version to 3.37.2

Update NEWS.

6 years agonotificationDaemon: Try harder to find a matching app
Florian Müllner [Fri, 29 May 2020 19:51:14 +0000 (21:51 +0200)]
notificationDaemon: Try harder to find a matching app

Unlike the desktop-entry hint, the app name is not optional. That
doesn't mean that we'll be able to match it to a .desktop file,
but we can at least try if we fail to match on PID or desktop-entry.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1291

6 years agoworkspace: Position clones using width and height instead of scale
Jonas Dreßler [Sun, 1 Sep 2019 09:49:58 +0000 (11:49 +0200)]
workspace: Position clones using width and height instead of scale

Since we now have a layout manager for the WindowClone that allows
allocating it a size that isn't the absolute size of the window, we can
now give the WindowClone an artificial size and it will get scaled
accordingly.

So make use of that and stop positioning WindowClones using fixed
position and scale and use a fixed position and fixed size instead. This
will make it easier to use a ClutterLayoutManager to allocate the
WindowClones, because layout managers should only set the allocation of
their children, not the scale.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoworkspace: Use boundingBox to get absolute width and height of window
Jonas Dreßler [Sun, 31 May 2020 21:33:00 +0000 (23:33 +0200)]
workspace: Use boundingBox to get absolute width and height of window

Since we're going to override the fixed width and height of the
ClutterActor the WindowClone is subclassing, remove those confusing
getter methods for width and height and switch to the public boundingBox
for getting that information.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoworkspace: Use boundingBox instead of getOriginalPosition()
Jonas Dreßler [Sun, 31 May 2020 21:19:59 +0000 (23:19 +0200)]
workspace: Use boundingBox instead of getOriginalPosition()

The getOriginalPosition() API of WindowClone can easily be replaced by
using the existing boundingBox property, which reflects the windows
bounding box in absolute coordinates. This property is also used
everywhere else in the Workspace object, so we can use it here, too.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoworkspace: Allow allocating smaller sizes for window clones
Jonas Dreßler [Mon, 1 Jun 2020 12:36:08 +0000 (14:36 +0200)]
workspace: Allow allocating smaller sizes for window clones

Change the preferred size functions of the layout manager of window
clones to allow allocating smaller sizes, too. Also scale down the
allocation sizes of the ClutterClones our allocate implementation so
the ClutterClones will scale their texture accordingly.

This will enable us to position the window clones using their allocation
size instead of their scale, which is necessary when introducing a new
ClutterLayoutManager that positions the window clones.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoRevert "workspace: Animate window clones using translation properties"
Jonas Dreßler [Sat, 30 May 2020 13:23:41 +0000 (15:23 +0200)]
Revert "workspace: Animate window clones using translation properties"

We're going to add a ClutterLayoutManager responsible for allocating the
WindowClones. Since layout managers should only set the allocation of
actors, not the translation or scale, we need to position the
WindowClones using their x, y, width and height properties.

The first step for this is to revert this commit, which switched from
setting fixed positions on WindowClones to using the translation
properties.

This reverts commit 8929c89d1fbbdd7b150b3d46b485b2db732cfb00.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agolookingGlass: Add actor tree inspector
Georges Basile Stavracas Neto [Sun, 31 May 2020 20:31:48 +0000 (17:31 -0300)]
lookingGlass: Add actor tree inspector

Being able to visualize the actor tree is a handy feature
to have, specially when debugging the hierarchy.

Add a new "Actors" tab to the Looking Glass with the actor
tree inspector. The tree is cleared on unmap to not get
heavy on the number of actors.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1292

6 years agoUpdated Slovenian translation
Matej Urbančič [Mon, 1 Jun 2020 20:25:53 +0000 (22:25 +0200)]
Updated Slovenian translation

6 years agoworkspace: Also hide attached dialogs in WindowClone from picking
Jonas Dreßler [Sun, 31 May 2020 21:05:45 +0000 (23:05 +0200)]
workspace: Also hide attached dialogs in WindowClone from picking

As explained in the comment in _init() of WindowClone, we hide the
actual clone from picking so it doesn't interfere with XDND.

This description applies to the clones of the attached dialogs just as
well though, so hide the clones of attached dialogs from picking, too.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1293

6 years agopadOsd: Apply specific CSS to Button/Leader SVG classes
Carlos Garnacho [Fri, 29 May 2020 15:12:09 +0000 (17:12 +0200)]
padOsd: Apply specific CSS to Button/Leader SVG classes

Applying a fill operation on the Leader line path seems to close
it, resulting in filled polygon. Bug or not this is not the intended
result here, we can do less ambiguously by not specifying the fill
CSS property to the Leader class.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2570
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Keep label coordinates in image coordinates
Carlos Garnacho [Fri, 29 May 2020 14:59:46 +0000 (16:59 +0200)]
padOsd: Keep label coordinates in image coordinates

Apply the necessary transforms to map those coordinates to actor
positions in the allocate phase. This all fits since it's the place
where we do know the size the actor will have.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Cache label coordinates/arrangements
Carlos Garnacho [Fri, 29 May 2020 14:07:28 +0000 (16:07 +0200)]
padOsd: Cache label coordinates/arrangements

This is actually static for a given PadDiagram, as it always represents
a single device.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2570
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Only allocate child labels within allocate vfunc
Carlos Garnacho [Fri, 29 May 2020 14:05:57 +0000 (16:05 +0200)]
padOsd: Only allocate child labels within allocate vfunc

Make both start/stop edition and label updates queue a relayout, and
only deal with child allocations in the allocate method.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Drop needless call
Carlos Garnacho [Fri, 29 May 2020 13:59:32 +0000 (15:59 +0200)]
padOsd: Drop needless call

If we got this far, we are dealing with an already known label.
There's no need for this check.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Use map to store misc action label data
Carlos Garnacho [Fri, 29 May 2020 13:53:33 +0000 (15:53 +0200)]
padOsd: Use map to store misc action label data

We'll be adding more stuff here, so it's a bit inconvenient to keep
it an array.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Move all coord/existence checks to _addLabel()
Carlos Garnacho [Fri, 29 May 2020 13:43:55 +0000 (15:43 +0200)]
padOsd: Move all coord/existence checks to _addLabel()

Drops some repetitive code. Also rely completely on the label/leader
elements being found in order to find buttons/rings/strips.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Make label coordinates API "private"
Carlos Garnacho [Thu, 28 May 2020 17:54:25 +0000 (19:54 +0200)]
padOsd: Make label coordinates API "private"

This is only called internally, and only needed there.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Move button/ring/strip label creation to PadDiagram
Carlos Garnacho [Thu, 28 May 2020 12:03:13 +0000 (14:03 +0200)]
padOsd: Move button/ring/strip label creation to PadDiagram

It's the natural container of those. We can create all those labels
internally, and only expose the updateLabels() method to update them
wholesome.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Fix double styling
Carlos Garnacho [Thu, 28 May 2020 11:38:36 +0000 (13:38 +0200)]
padOsd: Fix double styling

We set the StLabel style property, there's no need to re-apply the
large/bold text style via markup. Makes the StLabel text size consistent
across editable state changes.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Disable ellipsizing in title label
Carlos Garnacho [Thu, 28 May 2020 11:36:25 +0000 (13:36 +0200)]
padOsd: Disable ellipsizing in title label

We make the label text large and let it ellipsize. It ends up doing
so instead of allowing the label to expand. This title is important
and we don't want it to be ellipsized, so ensure that won't happen.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2845
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Fix .allocate() call
Carlos Garnacho [Thu, 28 May 2020 11:34:57 +0000 (13:34 +0200)]
padOsd: Fix .allocate() call

This was not updated to the API change in commit 9a8ced9f5b6.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agoscreenshot: Properly clean up if PickColor() is cancelled
Florian Müllner [Thu, 28 May 2020 22:27:34 +0000 (00:27 +0200)]
screenshot: Properly clean up if PickColor() is cancelled

We currently only remove the screenshot operation from the shooter
map if the color pick operation completed successfully, but not if
it was cancelled. As a result, we now reject any further requests
from the same sender because we assume that there is an ongoing
operation.

Fix this by moving the cleanup to a finally clause that runs for
both code paths.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1288

6 years agoscreenshot: Return an error when operation is blocked
Florian Müllner [Thu, 28 May 2020 22:35:27 +0000 (00:35 +0200)]
screenshot: Return an error when operation is blocked

Right now _createScreenshot() returns a tuple that indicates failure
when a sender requests a screenshot operation before a previously
started operation finished.

However that doesn't work for the PickColor() method, as it uses a
different return type than the other methods.

Address this by returning an error instead, which works in any case;
arguably trying to start multiple operations in parallel is an error
by the caller more than it is a failed operation anyway.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1288

6 years agoextensions-tool: Escape '\' and '"' in json string
Koki Fukuda [Sun, 24 May 2020 05:40:07 +0000 (14:40 +0900)]
extensions-tool: Escape '\' and '"' in json string

If user-input string contains '\' and/or '"', extensions-tool
generates invalid json.
This fixes that by escaping '\' and '"'.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1279

6 years agoUpdate Korean translation
Changwoo Ryu [Wed, 27 May 2020 23:50:25 +0000 (23:50 +0000)]
Update Korean translation

(cherry picked from commit 4099c446da04227acabbd8e628285eb7bcbccac9)

6 years agoiconGrid: Remove fillParent support
Florian Müllner [Wed, 27 May 2020 22:21:35 +0000 (00:21 +0200)]
iconGrid: Remove fillParent support

This was only used by the frequent view to display as many children
as fit the available space. Now that the view is gone, there's no
need to keep the support ...

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1286

6 years agoiconGrid: Merge PaginatedIconGrid and IconGrid
Georges Basile Stavracas Neto [Tue, 19 May 2020 02:01:41 +0000 (23:01 -0300)]
iconGrid: Merge PaginatedIconGrid and IconGrid

Now that the only user of the IconGrid is AppDisplay, and
it only uses the paginated icon grid, there's no point in
having the two classes split anymore.

In addition to that, future commits will introduce a layout
manager that will extend current icon grid features, and
merging PaginatedIconGrid and IconGrid in the same class will
vastly simplify this transition.

Merge PaginatedIconGrid into IconGrid, and adapt AppDisplay
to this change.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1267

6 years agoappDisplay: Merge AppDisplay in AllView
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 16:43:57 +0000 (13:43 -0300)]
appDisplay: Merge AppDisplay in AllView

Now that AllView is the only actor that AppDisplay creates,
we can actually merge them together.

Merge AllView in AppDisplay, remove what used to be AppDisplay,
and rename AllView to AppDisplay.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880

6 years agoappDisplay: Simplify AppDisplay
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 13:47:58 +0000 (10:47 -0300)]
appDisplay: Simplify AppDisplay

Inherit St.Widget and remove the custom layout manager. Instead,
override vfunc_allocate(). Also remove the view stack.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880

6 years agoappDisplay: Remove Frequent view
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 13:42:44 +0000 (10:42 -0300)]
appDisplay: Remove Frequent view

The Frequent apps grid has a few problems:

 * On a fresh install there would be no history of app usage so the
   applications shown in the grid have no relevance it takes time
   to be useful instead of being useful from the start;

 * The grid has far too many items in it to be relevant; 24 apps is
   well beyond the average use case as most people don't frequently
   use that many, so it gets populated with several apps that are
   single use (hello xterm);

 * The position of items in the grid are always changing based on an
   unknown frequency metric (and not by user-intended input) which
   makes it a poor way to quickly launch apps as one would have to
   constantly learn the positions of the items in the grid;

 * Having two app grids is a bit superfluous and needlessly complicates
   the app launching navigation: you have to spend time checking the
   frequent grid and if it's not there you have to switch over to another
   grid and find the app you need in there it's not straightforward.

Remove the Frequent tab and simplify the related code.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1425

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880

6 years agopower: Fix icon when discharging at 100%
Florian Müllner [Tue, 26 May 2020 19:26:22 +0000 (21:26 +0200)]
power: Fix icon when discharging at 100%

The special-case for a fill level of 100 introduced in commit 5fd52e99d39
should only apply when charging, for the discharging state there's a
proper battery-level-100-symbolic icon.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2286

6 years agost/box-layout: Fix gtk-doc comments
Florian Müllner [Sun, 24 May 2020 17:24:23 +0000 (19:24 +0200)]
st/box-layout: Fix gtk-doc comments

Commit 9dc421875 added a subtle syntax error: # is used to cross
reference symbols, but must not be used in the definition of the
symbols itself.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1281

6 years agost/texture-cache: Cancel pending requests on icon-theme changes
Florian Müllner [Fri, 22 May 2020 20:53:39 +0000 (22:53 +0200)]
st/texture-cache: Cancel pending requests on icon-theme changes

As outlined in commit 36b8dcbe07, we can end up with wrong icons
if the icon theme changes right after a GTK theme change to/from
HighContrast triggered a theme reload.

That's because when we reload icons for the new icon theme, there
are already pending requests due to the icon-style change; those
requests are simply re-used for the new icons, with the existing
icon infos from the old theme.

The above commit applied a simple work-around by changing the
icon theme before the GTK theme, but that only works for the
HighContrast switch in our own UI.

It turns out that Settings also uses the "wrong" order, so the
issue still reproduces with the Universal Access panel.

So instead of relying on everything changing the settings in the
order we expect, cancel all ongoing requests on icon-theme changes.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1277

6 years agotheme: Make world clock times tabular
PrOF-kk [Sun, 24 May 2020 10:55:26 +0000 (12:55 +0200)]
theme: Make world clock times tabular

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2825

6 years agopanel: fix size of battery percentage label
Björn Daase [Sat, 23 May 2020 20:48:47 +0000 (22:48 +0200)]
panel: fix size of battery percentage label

Adjust the label of the (optional) battery percentage in the top
bar to have the same size as all other text in the top bar.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2652

6 years agoUpdate German translation
Christian Kirbach [Sun, 24 May 2020 16:06:24 +0000 (16:06 +0000)]
Update German translation

(cherry picked from commit bc3c1e5a68db8318583622e0087add70dec2aa58)

6 years agoUpdate Romanian translation
Florentina Mușat [Sun, 24 May 2020 10:43:48 +0000 (10:43 +0000)]
Update Romanian translation

6 years agoUpdate Slovak translation
Dušan Kazik [Sun, 24 May 2020 07:27:55 +0000 (07:27 +0000)]
Update Slovak translation

(cherry picked from commit b148a8bc6093d18ba28dee33512f0545abd041d3)

6 years agoscreenshot: Add preview to color picker
Florian Müllner [Mon, 30 Jul 2018 16:31:17 +0000 (18:31 +0200)]
screenshot: Add preview to color picker

With color picking implemented in the compositor, we
can do better than letting the user pick a pixel with
the crosshair cursor, and present them with a preview
of the color that will be selected.

Do this by replacing the cursor with a custom icon and
apply a recoloring effect, where we replace a given color
with the color of the currently hovered pixel (similar
to a green screen).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/451

6 years agosearch: Remove usage of allocation flags
Jonas Dreßler [Fri, 22 May 2020 09:53:05 +0000 (11:53 +0200)]
search: Remove usage of allocation flags

Allocation flags have been removed from Clutter, and commit
400d045a6aa1b4703a3fdd5cf5c7e9b54aa60afd accidentally added their
arguments again which causes a warning, so remove those arguments.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1276